iT邦幫忙

2023 iThome 鐵人賽

DAY 9
0
IT管理

30天就上手之微軟Power Automate Desktop系列 第 9

【Day9】 Power Automate Desktop 條件判斷-讓機器人幫我發現錯誤並記錄…II

  • 分享至 

  • xImage
  •  

昨天說到傳送郵件的部分,今天就來說說要怎麼把想要的東西寫入Excel吧!

流程如下:
https://ithelp.ithome.com.tw/upload/images/20230901/20159965OvRDfhqq1e.png
https://ithelp.ithome.com.tw/upload/images/20230901/20159965grWS4QP5h3.png
https://ithelp.ithome.com.tw/upload/images/20230901/20159965QXeMf2mHsd.png

老樣子,因為我在存檔時會在檔名中加上日期,所以一樣呼叫Getdatetostr子流程來取得作為檔名用的日期。

接著在啟動Excel這邊,因為我是要一直寫在同一個檔案中做紀錄,所以我的設定是”並開啟後續檔案”,而不是”空白文件”!

如果使用”空白文件”的話會每次執行都會另存一個新檔喔!

文件路徑的部分也要填寫完整的檔案路徑及副檔名,不然會打不開或存成沒有副檔名的檔案!!
https://ithelp.ithome.com.tw/upload/images/20230901/20159965xcXkLQ9UBW.png

在啟動了Excel之後,就是指定我要寫在哪個工作表(Sheet)中了。

這邊是指定Error Message工作表,如下:
https://ithelp.ithome.com.tw/upload/images/20230901/20159965krxqaSglJU.png

所以其實是可以在不同流程中,將資料寫入同一個檔案的不同工作表的!

再來就是要讓機器人找到沒有資料且可以寫入資料的”第一個空欄位”啦,所以使用原本就有在”動作”清單中的功能:
https://ithelp.ithome.com.tw/upload/images/20230901/20159965IGKpBq7PPa.png

說明:
FirstFreeColumn是欄(橫的,1、2、3…等)
FirstFreeRow是列(直的,A、B、C…等)

但是對於第一個空欄位的認知部分,我和PAD機器人的認知是有點不太一樣的,如下:
https://ithelp.ithome.com.tw/upload/images/20230901/20159965cQmLH0i0Fz.png

機器人的認知是:
只要那列(如:A)有資料,就是往後一列(如:B)。
只要那欄(如:1)有資料,空的列就是往下一欄(如:2)。

所以有資料的那欄有多少列,在使用寫入動作時就要把列(FirstFreeColumn)減回來多少個。

我用來紀錄的Excel檔案的第一欄如下:
https://ithelp.ithome.com.tw/upload/images/20230901/20159965fqZ5HV8PhD.png

由於機器人的判斷,第一個空的欄位其實是D2。
https://ithelp.ithome.com.tw/upload/images/20230901/20159965An8I7nt2va.png

這判斷中,列2是沒錯的,但欄D不是我要的!(我要的是欄A,也就是A2)

而欄D是第4個欄。

所以當我要機器人把資料寫在第二列第一欄的資料時,我就要把資料行設定為%FirstFreeColumn -3%;這樣機器人才會在A2欄寫入第一個我想要的資料(日期)。
https://ithelp.ithome.com.tw/upload/images/20230901/201599657orpItAi7n.png

將資料寫入B2欄時,資料行設定就要改為%FirstFreeColumn -2%:
https://ithelp.ithome.com.tw/upload/images/20230901/201599659pshzyfkzX.png

C2就是%FirstFreeColumn -1%
https://ithelp.ithome.com.tw/upload/images/20230901/20159965deiquIfQaW.png

以此類推!

這樣讓機器人執行完流程後,就可以讓我得到想要的紀錄了。(真是太棒了!)

當然最後可別忘了要關閉Excel檔案並存檔喔,不然最後可是不會有紀錄的!
https://ithelp.ithome.com.tw/upload/images/20230901/20159965ZSejxPuJM3.png

當RecodinginexcelforXXXX子流程完成並結束後,就會自動回到CheckingXXXXServer子流程,並繼續往下跑流程了。

但我想做的事情已經都完成了,所以最後就只要在CheckingXXXXServer子流程終將遠端桌面連線給關掉就可以了。
https://ithelp.ithome.com.tw/upload/images/20230901/20159965IrcQ2lCIg0.png

對於啟動PAD的本機來說,遠端桌面連線也是一個”視窗”,所以就用”關閉視窗”這個動作,並新增UI元素,再選到遠端桌面連線中”X”(關閉)的UI元素就可以了!
https://ithelp.ithome.com.tw/upload/images/20230901/20159965pRz6czfkij.png

最後按一下視窗中的UI元素的原因是,在關閉遠端桌面連線時,系統會跳出確認訊息。

如果不點選可是關不掉視窗的呢XD…

所以就讓機器人控制滑鼠去點確認按鈕一下吧!
https://ithelp.ithome.com.tw/upload/images/20230901/20159965g0LwV9KiIW.png
https://ithelp.ithome.com.tw/upload/images/20230901/20159965AVY9T4E1FW.png

到這邊,第九天就要結束了!

今天的難點主要在於Excel寫入資料前要取得空欄位的部分,機器人的認知和我的認知差異的部分;但老實說,也沒有到非常難懂啦!(入門書裡面也有教。)


這邊會用到的動作如下:
https://ithelp.ithome.com.tw/upload/images/20230901/20159965c8tu30zDIy.png
https://ithelp.ithome.com.tw/upload/images/20230901/20159965JpvrytdUFD.png


上一篇
【Day8】 Power Automate Desktop 條件判斷-讓機器人幫我發現錯誤並記錄…I
下一篇
【Day10】Power Automate Desktop 來吧,機器人自動檢查-遠端桌面延伸使用
系列文
30天就上手之微軟Power Automate Desktop30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言